package com.hanhai.material.wages.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *  实体类。
 *
 * @author youchuang
 * @since 2023/10/25 17:34:51
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "fin_user_roster")
public class FinUserRoster implements Serializable {

    /**
     * 主键ID财务花名册
     */
    private String id;

    /**
     * 年月
     */
    private Date archivesDate;

    /**
     * 员工USERID
     */
    private String userId;

    /**
     * 姓名
     */
    private String userName;

    /**
     * 工号
     */
    private String jobNo;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 一级部门
     */
    private String deptLevel1;

    /**
     * 二级部门
     */
    private String deptLevel2;

    /**
     * 三级部门
     */
    private String deptLevel3;

    /**
     * 直属主管
     */
    private String directlyManage;

    /**
     * 直属主管ID
     */
    private String directlyManageId;

    /**
     * 职位
     */
    private String position;

    /**
     * 手机号码
     */
    private String cellPhoneNumber;

    /**
     * 办公地点
     */
    private String officeLocation;

    /**
     * 入职时间
     */
    private Timestamp dateEntry;

    /**
     * 司龄
     */
    private String companySeniority;

    /**
     * 组别
     */
    private String groupName;

    /**
     * 组别职位
     */
    private String groupPosition;

    /**
     * 项目负责人
     */
    private String projectLeader;

    /**
     * 线长
     */
    private String lineManage;

    /**
     * 部门负责人
     */
    private String departmentHead;

    /**
     * 员工状态
     */
    private String employeeStatus;

    /**
     * 使用期
     */
    private String probationPeriod;

    /**
     * 实际转正日期
     */
    private Timestamp actualEmploymentDate;

    /**
     * 计划转正日期
     */
    private Timestamp plannedEmploymentDate;

    /**
     * 是否二次入职
     */
    private String isReentry;

    /**
     * 身份证姓名
     */
    private String cidName;

    /**
     * 身份证号
     */
    private String cid;

    /**
     * 出生日期
     */
    private Timestamp birthday;

    /**
     * 年龄
     */
    private String age;

    /**
     * 性别
     */
    private String sex;

    /**
     * 名族
     */
    private String nation;

    /**
     * 身份证地址
     */
    private String cidAddress;

    /**
     * 证件有效期
     */
    private Timestamp certificateValidity;

    /**
     * 婚姻状况
     */
    private String maritalStatus;

    /**
     * 首次参加工作
     */
    private Timestamp firstWorkingDate;

    /**
     * 工龄
     */
    private String workingYears;

    /**
     * 户籍类型
     */
    private String registeredResidenceType;

    /**
     * 住址
     */
    private String address;

    /**
     * 政治面貌
     */
    private String politicalOutlook;

    /**
     * 社保账号
     */
    private String socialSecurityAccount;

    /**
     * 公积金账号
     */
    private String providentFundAccount;

    /**
     * 家乡
     */
    private String hometownProvince;

    private String hometownCity;

    private String hometownCounty;

    /**
     * 学历
     */
    private String education;

    private String graduationSchool;

    private Timestamp graduationDate;

    private String major;

    private String bankCardNumber;

    private String bankDeposit;

    private String cardIssuingBank;

    private String contractCompany;

    private String contractType;

    private Timestamp firstContractStartDate;

    private Timestamp firstContractEndDate;

    private Timestamp currentContractStartDate;

    private Timestamp currentContractEndDate;

    private String contractPeriod;

    private Integer renewalTimes;

    private String contractNo;

    private String contractSigningCompany;

    private String emergencyContactName;

    private String contactRelationship;

    private String contactPhone;

    private String familyName;

    private String familyRelationship;

    private String familySex;

    private Timestamp familyBirthday;

    private String familyPhoneNo;

    private String recruitmentChannels;

    private String salaryAttribute;

    private String natureManpower;

    private String introducer;

    private String introducerJobNo;

    private Timestamp quitDate;

    private String quitType;

    private String quitReason;

    private BigDecimal introductionAward;

    private BigDecimal seniorityAward;

    private BigDecimal familyAllowance;

    private BigDecimal allChildAllowance;

    private String childName;

    private BigDecimal childAllowance;

    private String school;

    private String schoolLevel;

    private Timestamp admissionDate;

    private Timestamp gradDate;

    private String enclosure;

    private BigDecimal childAllowance2;

    private String childName2;

    private String school2;

    private String school2Level;

    private Timestamp admissionDate2;

    /**
     * 毕业日期2
     */
    private Timestamp gradDate2;

    /**
     * 附件2
     */
    private String enclosure2;

    /**
     * 创建日ID
     */
    private String createUserId;

    /**
     * 创建人名称
     */
    private String createUserName;

    /**
     * 创建时间
     */
    private Timestamp createTime;

    /**
     * 备注
     */
    private String summary;

    private String familyJobNo;

    private String familyAllowanceName;

    private String familyAllowanceRelationship;

    private String voucher;

    private String shift;
//    @Column(ignore = true)archivesDate
//    private Date workDate;

}
